\documentclass[latex]{subfiles}
\begin{document}
\part{宏包详解}
\section{titlesec包}
\subsection{titleformat各选项}

	titleformat有七个参数，第2个和第7个可以省略。
\begin{description}
	\item[command] 如\cmd{chapter} \cmd{section} 等；
	\item[shape] 章节的预定义样式，可选的参数有hang、block、display等；
	\item[format] 用于设置标签和标题文字的字体样式。这里可以包含竖直空距,即标题文字到正文的距离；
	\item[label] 用于设置标签的样式；
	\item[sep] 标签和标题文字的水平间距；
	\item[before] 标题前的内容；
	\item[after] 标题后的内容。
\end{description}

\subsubsection{第2个参数：shape}
标签和标题的位置关系。
\begin{description}
	\item[hang] 默认值。标题在右侧,紧跟在标签后。
	\item[block] 标题和标签封装排版,不允许额外的格式控制。
	\item[display] 标题另起一段,位于标签的下方。
	\item[runin] 标题与标签同行,且正文从标题右侧开始。
	\item[leftmargin] 标题和标签分段,且位于左页边。
	\item[rightmargin] 仿上。右页边。
	\item[drop] 文本包围标题。
	\item[wrap] 类似 drop,文本会自动调整以适应最长的一行。
	\item[frame] 类似 display,但有框线。
\end{description}
\subsubsection{第3个参数：format}
主要是设置字体/衬线/样式等。
\begin{enumerate}
	\item 字体/衬线/样式，默认为bf\\
		\fbox{(rm sf tt) (md bf) (up it sl sc)}\\
		意思分别是：\\
		字族（罗马、无衬线、等宽）\\
		字系（中粗体、粗体）\\
		字形（竖直、强调体、斜体、小号大写体）\\
	\item 大小\\
		\fbox{big medium small tiny}
	\item 对齐\\
		\fbox{raggedleft center raggedright}
\end{enumerate}
	该命令也可以{\color{cored}简写}为：
\begin{code}
\titleformat*{command}{format}
\end{code}
	
\subsubsection{第4个参数：label}
	就是标题名称前的编号，比如：
\begin{code}
{第\,\thesection\,节}
\end{code}

\subsubsection{第5个参数：sep}
	标签和标题正文之间的水平距离，必需为一个长度值(不可留空)。在display 样式中，这个距离为竖直距离；在 frame 样式中，这个距离为
	文本到边框的距离。
\subsubsection{第6个参数：before}
	用于处理标题正文之前的内容。最后一个命令可以带有一个参数，作为标题的文本。 
\subsubsection{第7个参数：after}
	指定跟在标题正文之后的内容。
    
    \subsection{一个例子}
    \begin{code}
\documentclass{ctexbook}
\usepackage{xcolor}
\usepackage[explicit]{titlesec}
\titleformat{\chapter}[block]{\heiti}{
    \begin{minipage}[c]{5em}
        \colorbox{lightgray}{\makebox[5em][c]{第 \thechapter 章}}
        \vskip 1ex
        \makebox[5em][c]{Chapter \thechapter} 
    \end{minipage}
    \hskip 0.2em\rule[-2.5em]{0.5pt}{6em}
}{1ex}{\hfill #1 \hfill}[\vskip -3em\hskip 5.9em\titlerule]

\begin{document}
    \chapter{我是标题}
    具体尺寸自己调吧，\#1是代表标题内容的……
\end{document}
    \end{code}
效果如图：

\includegraphics[width=\textwidth-4em]{titleA.png}
	

\subsection{titlelabel}
\begin{code}
\titlelabel{⟨label-format⟩}
\end{code}
一次性调整标题的标签格式。
可选值：
\cmd{thetitle} \cmd{thesection} \cmd{thesubsection} 等。如：
\begin{code}
\titlelabel{\thetitle.\quad}
\end{code}

\subsection{titlespacing}
	带星的版本会取消紧跟标题之后的段落的缩进；但是如果是在 drop， wrap以及 runin 模式下，很可能就无效了。
	
	titlespacing有五个参数：
\begin{description}
	\item[command] 各级标题；
	\item[left] 增加左缩进，有几种例外，具体见手册第6页；
	\item[beforesep] 标题前的垂直分隔；
	\item[aftersep] 标题和文本之间的分隔；
	\item[right] 参数是可选的，可以使得hang和block和display 样式拥有增加右边距的可能。
\end{description}


\section{titletoc}
titlecontents的七个参数：
\begin{description}
	\item[command] 是不带反斜线的节的名称：part，chapter，section等等；
	\item[left] 左边距；
	\item[above] 设置标题的整体格式，如字体、字体尺寸、与上一个标题的垂直距离等。可以使用 titlesec fillleft，fillright，
	fillcenter，filllast等命令，这几个命令带反斜杠；
	\item[numbered-entry-format] 标题标签的格式，如序号格式、序号宽度、序号与标题内容之间的间距等；
	\item[numberless-entry-format] 无序号标题的格式， 如字体、字体尺寸等。 该参数可以空置；
	\item[filler-page-format] 填充格式如：

\tcboxverb[cosrg,fontupper=\normalsize]{\titlerule*[8pt]{.}\contentspage}

	\item[below-code] 下间距，可选参数，设置标题排版后还需要执行的命令， 例如与下个标题的垂直间距等。
\end{description}

	另外有两个命令是用在上面的参数里的：
\begin{description}
	\item[contentslabel] 在开头创建空白，并且打印节编号，用在numbered-entry-format里。
	\item[contentspage] 在结尾处创建长度为\myarg{right} 的空白，并且以右对齐打印页码，用在filler-page-format里。
\end{description}		
一个可行的例子：
\begin{code}
\titlecontents{section}[3.3em]{}
{\contentslabel{1.8em}}{\hspace*{-2.3em}}
{\titlerule*[8pt]{$\cdot$}\contentspage}
\end{code}


\end{document}
